In the area of system and software operation and development, it is sometimes useful to monitor applications during operation. Software applications, computer programs, software subroutines, software modules, or software components (hereinafter referred to as applications) may perform transactions without leaving sufficiently detailed historical records. Historical records or other transaction diagnostic information may promote analysis of application processing and management of application operating conditions. Monitoring applications and these intermediate variables may be warranted for a number of other reasons.
The Application Response Measurement (ARM) application programming interface provided a limited framework for developers to add monitoring functions to applications during software development and to cause the applications to generate historical information. The ARM framework included standard libraries supporting a limited number of instrumentation function calls to cause historical information to be captured.